/*
  ES6参数的扩展：
  1.  默认值: 形参的位置 赋值 即可
  2. 可变参数：...args收集剩余参数，
    注意:
      1.  ...只能出现一次
      2.  ...只能放在最后一个形参的位置
      3.  ...的前面，可以有一个或多个固定位置参数
 */

function add (x = 1, y = 2) {
  return x + y
}

// 1 - 参数的默认值
// console.log(add(10, 24))// ?
// console.log(add())// ?
// console.log(add('', 0))// ?
// console.log(add(undefined, 100))// ? 101
// console.log(add(99, undefined))// ?  101



// 2 - 可变参数，...参数名，收集所有参数信息
// function getSum(...args) {
//   console.log(args)
// }

// console.log(getSum(1, 2))
// console.log(getSum(1, 2, 3, 4, 5))
// console.log(getSum(7, 8, 9))


// 3 - 注意事项
function getSum (num, ...args) {
  return args.reduce((sum, n) => sum + n, num)
}
console.log(getSum(100, 1, 2))
console.log(getSum(100, 1, 2, 3, 4, 5))
console.log(getSum(100, 7, 8, 9))


